package com.tbit.uqbike.service.base;


import com.tbit.uqbike.object.pojo.BatteryModel;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.uqbike.object.view.JsonResult;

import java.util.List;

/**
 * 电池方案service
 *
 * @author Leon
 * 2017年2月24日 下午4:09:17
 */
public interface BatteryModelService {
    /**
     * 添加
     *
     * @param batteryModel
     */
    void insert(BatteryModel batteryModel, LoginInfo loginInfo);

    /**
     * 删除
     *
     * @param batteryModelId
     */
    void del(Integer batteryModelId, LoginInfo loginInfo);

    /**
     * 根据代理商id查询
     *
     * @param accountId
     * @return
     */
    List<BatteryModel> getByAccountId(Integer accountId, LoginInfo loginInfo);


    /**
     * 获取电池方案分页信息
     *
     * @param accountId 区域id
     * @param name      电池方案名称
     * @param rowCount  行数
     * @param pageNo    页数
     * @param loginInfo 登录信息
     * @return
     */
    JsonResult queryPage(Integer accountId, String name, Integer rowCount, Integer pageNo, LoginInfo loginInfo);

    /**
     * 获取系统电池方案
     *
     * @param batteryModelId
     * @return
     */
    BatteryModel getByBatteryModelId(Integer batteryModelId);

    /**
     * 获取系统电池方案
     *
     * @return
     */
    List<BatteryModel> getBatteryTemplate();

    /**
     * 获取系统电池方案
     *
     * @return
     */
    List<BatteryModel> getBatteryTemplate(Integer accountId);

    /**
     * 添加电池方案模板
     *
     * @param loginInfo
     * @param accountId
     * @param name
     * @param remark
     * @param maxVols
     * @param minVols
     * @param batteryPers
     * @param milages
     */
    void addBatteryTemplate(LoginInfo loginInfo, Integer accountId,
                            String name, String remark, String maxVols, String minVols,
                            String batteryPers, String milages);

    void edit(BatteryModel batteryModel);
}  